import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  // 组件间共享的数据或者需要集中管理的数据放在store里面
  state: {
    shoplist: [
      { 'id': 1, 'title': '电水壶', 'price': 50.01, src: '/images/1.jpg' },
      { 'id': 2, 'title': '电压力锅', 'price': 260.99, src: '/images/2.jpg' },
      { 'id': 3, 'title': '电饭煲', 'price': 200.99, src: '/images/3.jpg' },
      { 'id': 4, 'title': '电磁炉', 'price': 300.99, src: '/images/4.jpg' },
      { 'id': 5, 'title': '微波炉', 'price': 400.99, src: '/images/5.jpg' },
      { 'id': 6, 'title': '电饼铛', 'price': 200.99, src: '/images/6.jpg' },
      { 'id': 7, 'title': '豆浆机', 'price': 199.99, src: '/images/7.jpg' },
      { 'id': 8, 'title': '多用途锅', 'price': 510.99, src: '/images/8.jpg' }
    ],
    shopcart: []
  },
  getters: {
    totalPrice(state) {
      var total = 0
      state.shopcart.forEach(item=>{
        total += item.price * item.num
      })
      return total
    }
  },
  mutations: {
    add(state,item) {
      // 判断购物车里面是否有当前的商品
      var commodity = state.shopcart.find(i => i.id == item.id)
      if(commodity){
        commodity.num++
      } else{
        state.shopcart.push({
          id: item.id,
          title: item.title,
          price: item.price,
          src: item.src,
          num: 1
        })
      }
    },
    del(state,item) {
      if(item.num > 1){
        item.num--
      } else{
        state.shopcart.forEach((i,index,arr) => {
          if(i.id === item.id) {
            arr.splice(index,1)
          }
        })
      }
    }
  },
  actions: {
  },
  modules: {
  }
})
